package com.ktdaddy.service;

import com.ktdaddy.request.CreatePermissionReq;
import com.ktdaddy.request.UpdatePermissionReq;
import com.ktdaddy.vo.PermVO;

import java.util.List;
import java.util.Set;

/**
 * @author kdaddy@163.com
 * @date 2021/4/27 22:54
 */
public interface PermService {

    Set<String> loadByKernelName(String kernelName);

    /**
     * 根据条件查询树形结构权限
     * @param menuName
     * @param status
     * @return
     */
    List<PermVO> getPermList(String menuName, Integer status);

    /**
     * 创建权限
     * @param createPermissionReq
     * @return
     */
    boolean createPermission(CreatePermissionReq createPermissionReq);

    /**
     * 更新权限
     * @param updatePermissionReq
     * @return
     */
    boolean updatePermission(UpdatePermissionReq updatePermissionReq);

    /**
     * 校验权限名称是否存在
     * @param permissionName
     * @return
     */
    boolean isPermissionExit(String permissionName);

    /**
     * 删除权限
     * @param permissionId
     */
    void deletePermission(Integer permissionId);
}
